ListNode* ReverseList(ListNode* head) {
        // write code here
        if(head == nullptr || head->next ==nullptr){
                return head;
        }
        
        ListNode *xhead = head;
        ListNode *NewH = xhead;
        
        while(xhead->next != NULL ){
            ListNode *curr = xhead->next;//当前节点变成头节点的下一个节点
            xhead->next = curr->next;//将头结点的指针指向当前节点的下一个节点
            curr->next = NewH;//当前节点的指针指向新的头结点，注意不要指向之前的头结点会出现问题
            NewH = curr;//新的头结点指向当前节点，也就是当前节点为新的头结点
        }
        return NewH;
    }
